Throwable ক্লাস হল java.lang প্যাকেজের একটি গুরুত্বপূর্ণ ক্লাস যা Exception এবং Error শ্রেণীকে সুপারক্লাস হিসেবে ধারণ করে। এটি Java Exception Handling সিস্টেমের মৌলিক অংশ এবং Java প্রোগ্রামে ত্রুটি (Error) এবং ব্যতিক্রম (Exception) পরিচালনা করার জন্য ব্যবহৃত হয়।
Throwable ক্লাসের মাধ্যমে Exception এবং Error দুটি শ্রেণীকে সাধারণভাবে পরিচালনা করা হয়, কারণ এই দুইটি শ্রেণীই Throwable থেকে উত্তরাধিকারসূত্রে পাওয়া ক্লাস।
Throwable ক্লাসের গুরুত্ব:
- Exception Handling এর ভিত্তি:
Throwableক্লাস Exception এবং Error শ্রেণীকে একত্রিত করে, যা Java-তে ত্রুটি এবং ব্যতিক্রম ব্যবস্থাপনার জন্য ব্যবহৃত হয়। এটি Java Exception Handling সিস্টেমের মূল কাঠামো হিসেবে কাজ করে।
- Throwable এর দুইটি প্রধান সাবক্লাস:
- Exception: এটি সিস্টেমের ব্যতিক্রমগুলো প্রতিনিধিত্ব করে যা ব্যবহারকারীর কোড দ্বারা পরিচালনা করা সম্ভব। উদাহরণস্বরূপ, IOException, SQLException, NullPointerException ইত্যাদি।
- Error: এটি JVM বা সিস্টেমের ত্রুটির প্রতিনিধিত্ব করে এবং এগুলো সাধারণত ব্যবহারকারী কোড দ্বারা পরিচালনা করা সম্ভব নয়। উদাহরণস্বরূপ, OutOfMemoryError, StackOverflowError ইত্যাদি।
Throwable ক্লাসের প্রধান বৈশিষ্ট্য:
Throwableক্লাসের কনস্ট্রাক্টর:Throwableক্লাসের দুটি কনস্ট্রাক্টর রয়েছে:Throwable(String message): একটি ত্রুটি বার্তা সহ ত্রুটির অবজেক্ট তৈরি করে।Throwable(String message, Throwable cause): একটি ত্রুটি বার্তা এবং অন্য ত্রুটির কারণ সহ ত্রুটির অবজেক্ট তৈরি করে।
getMessage()মেথড:- এটি ত্রুটির সংক্ষিপ্ত বার্তা প্রদান করে। এর মাধ্যমে আপনি ত্রুটির কারণে সম্পর্কিত বার্তা পেতে পারেন।
getCause()মেথড:- এটি যদি একটি চেইনড এক্সেপশন (chained exception) থাকে, তবে ত্রুটির মূল কারণ প্রদান করে। এটি আপনাকে জানায় কিভাবে বা কোথায় ত্রুটিটি ঘটেছে।
printStackTrace()মেথড:- এটি ত্রুটির স্ট্যাক ট্রেস প্রিন্ট করে, যা আপনাকে ত্রুটির বিস্তারিত তথ্য যেমন লাইনের নম্বর, ক্লাস নাম ইত্যাদি দেয়।
toString()মেথড:- এটি ত্রুটির বর্ণনা প্রদান করে, সাধারণত
getClass().getName() + ": " + getMessage()এর মাধ্যমে।
- এটি ত্রুটির বর্ণনা প্রদান করে, সাধারণত
Throwable ক্লাসের উদাহরণ:
public class ThrowableExample {
public static void main(String[] args) {
try {
// Throwing an Exception
throw new Exception("This is an exception message");
} catch (Throwable t) {
// Catching Throwable
System.out.println("Caught Throwable: " + t.getMessage());
t.printStackTrace(); // Print stack trace for debugging
}
}
}
আউটপুট:
Caught Throwable: This is an exception message
java.lang.Exception: This is an exception message
at ThrowableExample.main(ThrowableExample.java:5)
এখানে, Throwable ক্লাসের printStackTrace() মেথড ব্যবহার করা হয়েছে, যা ত্রুটির স্থান (লাইনের নম্বর সহ) প্রদর্শন করছে।
Throwable ক্লাসের দুটি প্রধান সাবক্লাস:
- Exception:
- Exception ক্লাস ত্রুটির একটি শ্রেণী যা প্রোগ্রামের মধ্যে যেকোনো অবস্থা দ্বারা তৈরি হতে পারে, এবং এগুলিকে ব্যবহারকারী প্রোগ্রামার দ্বারা পরিচালনা করা সম্ভব।
- Checked Exception: এগুলি এমন এক্সেপশন যা কম্পাইল টাইমে ধরতে হয়। যেমন, IOException, SQLException ইত্যাদি।
- Unchecked Exception: এগুলি রানটাইমে ঘটে এবং এগুলির জন্য বিশেষভাবে ক্যাচ করতে হয় না। যেমন, NullPointerException, ArrayIndexOutOfBoundsException।
- Error:
- Error ক্লাস JVM বা সিস্টেম সম্পর্কিত ত্রুটি প্রতিনিধিত্ব করে, যা সাধারণত ব্যবহারকারীর কোড দ্বারা হ্যান্ডেল করা সম্ভব নয়। এগুলি গুরুতর সমস্যা যা অ্যাপ্লিকেশন চালানোকে ব্যাহত করতে পারে।
- উদাহরণ: OutOfMemoryError, StackOverflowError, VirtualMachineError ইত্যাদি।
Throwable ক্লাসের কিছু গুরুত্বপূর্ণ মেথড:
getMessage(): ত্রুটির বার্তা প্রদান করে।getCause(): মূল ত্রুটির কারণ বা ব্যতিক্রম প্রদান করে।printStackTrace(): ত্রুটির স্ট্যাক ট্রেস প্রিন্ট করে, যাতে ত্রুটির স্থান এবং কারণ বোঝা যায়।toString(): ত্রুটির একটি স্ট্রিং উপস্থাপনা প্রদান করে।
Throwable ক্লাসের ভূমিকা:
- Exception Handling Framework:
Throwableহল Exception Handling এর ভিত্তি, যা Java-তে ত্রুটি পরিচালনা এবং ত্রুটির ব্যাপারে বিস্তারিত তথ্য পাওয়ার জন্য ব্যবহৃত হয়। - Chained Exceptions: একাধিক ত্রুটি সম্পর্কিত তথ্য প্রদানের জন্য
Throwable-এরgetCause()মেথড এবংThrowableক্লাসের ইনস্ট্যান্স চেইনড এক্সেপশনস তৈরিতে ব্যবহৃত হয়। - Debugging and Logging:
printStackTrace()এবংtoString()মেথডগুলি ডিবাগিং এবং লগিংয়ের জন্য অত্যন্ত গুরুত্বপূর্ণ, কারণ এগুলি ত্রুটির স্থান এবং বিস্তারিত তথ্য প্রদান করে।
Throwable ক্লাস Java-র Exception Handling সিস্টেমের একটি অপরিহার্য অংশ, যা Exception এবং Error ক্লাসের মাধ্যমে ত্রুটি সম্পর্কিত সমস্ত কার্যাবলী পরিচালনা করে। এর মাধ্যমে ত্রুটি সম্পর্কিত বার্তা, কারণ এবং স্ট্যাক ট্রেস সহজেই পাওয়া যায় এবং Java অ্যাপ্লিকেশন ত্রুটি ব্যবস্থাপনা এবং ডিবাগিংয়ের জন্য গুরুত্বপূর্ণ সহায়তা প্রদান করে।
Read more